package com.ruoyi.system.domain;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

/**
 * 文件上传表 sys_file
 */
@Data
@ApiModel(value = "文件上传", description = "文件上传实体类")
@TableName("sys_file")
public class SysFileEntity extends BaseEntity {
    private static final long serialVersionUID = 1L;

    @TableId(type = IdType.AUTO)
    private Long fileId;

    @ApiModelProperty("文件编码")
    @TableField("file_code")
    @Excel(name = "文件编码")
    private Long fileCode;

    @ApiModelProperty("文件版本")
    @TableField("file_version")
    @Excel(name = "文件版本")
    private int fileVersion;

    @ApiModelProperty("当前状态")
    @TableField("file_status")
    @Excel(name = "当前状态")
    private String fileStatus;

    @ApiModelProperty("文件存储位置：1-阿里云，2-腾讯云，3-minio，4-本地")
    @TableField("file_location")
    @Excel(name = "文件存储位置")
    private int fileLocation;

    @ApiModelProperty("文件仓库（文件夹）")
    @TableField("file_bucket")
    @Excel(name = "文件仓库（文件夹）")
    private String fileBucket;

    @ApiModelProperty("文件名称")
    @TableField("file_origin_name")
    @Excel(name = "文件名称")
    private String fileOriginName;

    @ApiModelProperty("文件后缀")
    @TableField("file_suffix")
    @Excel(name = "文件后缀")
    private String fileSuffix;

    @ApiModelProperty("文件大小")
    @TableField("file_size_kb")
    @Excel(name = "文件大小")
    private Long fileSizeKb;

    @ApiModelProperty("文件大小信息，计算后的")
    @TableField("file_size_info")
    @Excel(name = "文件大小信息，计算后的")
    private String fileSizeInfo;

    @ApiModelProperty("存储路径")
    @TableField("file_path")
    @Excel(name = "存储路径")
    private String filePath;

    @ApiModelProperty("是否为机密文件，Y-是机密，N-不是机密")
    @TableField("secret_flag")
    @Excel(name = "是否为机密文件")
    private char secretFlag;

    @ApiModelProperty("是否删除：Y-被删除，N-未删除")
    @TableField("del_flag")
    @Excel(name = "是否删除")
    private char delFlag;
}
